
let app = getApp()
export const request = (params) => {      //暴露出去一个函数，并且接收一个外部传入的参数

    let dataObj = params.data || {};   //拿到传递进来的参数
    let headerObj = params.headerObj || {}
    let name = name || {}
    let filePath = filePath || {}
    return new Promise((resolve, reject) => {  //通过 Promise 对 wx.request 方法进行异步处理。
        wx.request({
            url: app.globalData.url + params.url,      //通过默认的请求地址，再加上外部传入的 具体业务地址，组成一个完整的 请求地址。
            method: params.method || "GET",   //外部 业务调用请求时，并传入 所需的请求方法，如果没有传递请求方法，则默认为 GET 请求
            data: dataObj,                  //这里的参数，来自于外部传入的参数
            header: headerObj,
            name: name,
            filePath: filePath,
            success: res => {
                let responseData = res.data.data
                if (responseData) {
                    resolve(responseData);                      // 请求成功后，调用 Promise 的回调 resolve() 方法，将参数返回出去到 Promise 的实例对象身上。
                    //   wx.showToast({
                    //     title: "请求成功",
                    //     icon: "success"
                    //   })
                    return;
                } else {
                    wx.showToast({
                        title: "请求失败",
                        icon: "error"
                    })
                    reject(res);               //同样请求失败后，向 Promise 实例返回出 错误的信息
                }
            },
            fail: err => {
                reject(err)            //同样请求失败后，向 Promise 实例返回出 错误的信息
            }
        })
    })
}
